package com.qiyu.entity;

import lombok.Data;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.util.Date;


  //对实体属性变化的跟踪，它提供了保存前，保存后，更新前，更新后，删除前，删除后等状态，就像是拦截器一样，你可以在拦截方法里重写你的个性化逻辑。
@EntityListeners(AuditingEntityListener.class)
@Data
//1.标注为@MappedSuperclass的类将不是一个完整的实体类，他将不会映射到数据库表，但是他的属性都将映射到其子类的数据库字段中。
//
//2.标注为@MappedSuperclass的类不能再标注@Entity或@Table注解，也无需实现序列化接口。
@MappedSuperclass
public class BaseEntity {
    @CreatedDate
    private Date crDate;
    @LastModifiedDate
    private Date moDate;
    private String crName;
    private String moName;
}
